#define _CRT_SECURE_NO_WARNINGS

//#include <stdio.h>
//#include <string.h>
//#include <assert.h>
//void* my_memmove(void* dst, const void* src, size_t num)
//{
//	void* ret = dst;
//	assert(dst && src);
//	if (dst > src)
//	{
//		while (num--)
//		{
//			*((char*)dst+num) = *((char*)src+num);
//
//		}
//	}
//	else
//	{
//		while (num--)
//		{
//			*(char*)dst = *(char*)src;
//			dst = (char*)dst + 1;
//			src = (char*)src + 1;
//		}
//
//	}
//	return ret;
//}
//
//
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	my_memmove(arr+2,arr,20);
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	typedef struct {
//		int a;
//		char b;
//		short c;
//		short d;
//	}AA_t;
//	printf("%d", sizeof(AA_t));
//	return 0;
//}
struct A
{
	int a;
	short b;
	int c;
	char d;
}A;

struct B
{
	int a;
	short b;
	char c;
	int d;
}B;
#include <stdio.h>
int main()
{

	printf("%d", sizeof(A));
	printf("%d", sizeof(B));

	return 0;
}